// package main

// import (
// 	"fmt"
// 	"sort"
// )

// type MinStack struct {
// 	prest []int //12345
// }

// /** initialize your data structure here. */
// func Constructor() MinStack {
// 	minst := new(MinStack)
// 	return *minst
// }

// func (this *MinStack) Push(x int) {
// 	this.prest = append(this.prest, x)
// }

// func (this *MinStack) Pop() {
// 	l := len(this.prest)
// 	this.prest = this.prest[0 : l-1]
// }

// func (this *MinStack) Top() int {
// 	l := len(this.prest)
// 	return this.prest[l-1]
// }

// func (this *MinStack) GetMin() int {
// 	that := make([]int, len(this.prest))
// 	copy(that, this.prest)

// 	sort.Ints(that) // 不能保证在常数时间内检索
// 	if len(that) > 0 {
// 		return that[0]
// 	}
// 	return -1
// }

// func main() {

// 	//Your MinStack object will be instantiated and called as such:
// 	obj := Constructor()
// 	obj.Push(-2)
// 	obj.Push(0)
// 	obj.Push(-3)
// 	fmt.Println(obj.GetMin())
// 	obj.Pop()
// 	param3 := obj.Top()
// 	param4 := obj.GetMin()
// 	fmt.Println(param3, param4)
// }
